When a user at a client computer wishes to browse information at a server computer, the user gives a browser at the client an address of the desired document at the server. The browser at the client transmits this address to the server. The server then transmits the document specified by the address to the client browser, which presents the information in the document to the user.
The Internet is an example of an interconnected network of computers containing clients and servers. A browser is a utility at one computer, called a client, that looks for and browses documents on other computers, called servers, all of which are connected via the Internet. A document is a file of control-codes and information, which the control-codes describe. A page is the information, as formatted by the browser interpreting the control-codes, that the browser presents to the user. This presentation may occur, for example, visually via the browser window on a display screen or aurally via speakers.
So far, the discussion in this application has focused on how users of client computers access, retrieve, and browse information at server computers. But, users at the client would also like to send data to the server and request the server to perform operations. One way to provide these important functions is to use a document that contains a construct called a "button" object that the user may use to control the document being browsed. The word "button" denotes this concept because of the analogy to other, familiar situations. For example, when you want to control your radio, you push a button to change stations. Analogously, when the user at a client wants to control a document being browsed, the user can electronically "push", click on, or otherwise select a button. There are a wide variety of objects, generically called "control-objects", that a user might employ to control a document, including: a pushbutton for selecting an action, a radio button for making one selection among a group of options, a text-box or an input field for entering a line of text, and a check-box for selecting or deselecting a single, independent option.
Although control-objects provide the user with an easy way to control the document, the user is still faced with the task of finding the control-objects, which may be difficult if the control-objects on the page have been scrolled out of view. A page of a document can be larger than is possible for the browser to display at one time. To still allow the user to see the entire page, most browsers provide a scrolling function; the user can see one window's worth of information and the rest is scrolled, or moved, in and out of view. Since the control-object is part of the information on the page, it too is scrolled in and out of view. Thus, it can be very time consuming and frustrating for the user to scroll through the entire page, looking through the vast mass of information for the control-object, especially when the page is much larger than the browser window. This problem is exacerbated by the fact that many pages contain multiple control-objects; there might be one control-object near the top of the page, another somewhere in the middle, and another near the bottom. Since control-objects are one of the primary ways for the user to interact with and request operations of the page, the user may have a need to find and use all of the control-objects on the page, which might be at disparate locations.
For the foregoing reasons, there is a need for quick and easy access to control-objects within a page of a document, independent of the scrolling position of the page.